home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 34.zip
/
BS1 part 34
/
GFA basic training.adf
/
Erweiterung
/
3DKUBUS.LST
< prev
next >
Wrap
File List
|
1989-06-01
|
2KB
|
116 lines
' 3D-Würfel als drehend animiert
'
EVERY 10 GOSUB raus ! Damit der Abbruch garantiert ist
@auf
REPEAT
@drehe
UNTIL MOUSEK
@zu
EDIT
'
'
PROCEDURE auf
OPENS 1,0,0,320,256,1,0
OPENS 2,0,0,320,256,1,0
g&=90 ! Absolute Größe
o&=115 ! Absolute x-Posistion
p&=110 ! Absolute y-Position
q%=o&+g&/2 ! Radius vorne
r%=p&+g&/4 ! Radius hinten
RETURN
PROCEDURE drehe
FOR n=0 TO 2*PI STEP PI/45
@knupel
winkel1=g&*COS(n)
winkel2=g&*SIN(n)
a1=o&+winkel1
b1=p&+winkel2
a5=q%+winkel1
b5=r%+winkel2
winkel1=g&*COS(n+PI/2)
winkel2=g&*SIN(n+PI/2)
a2=o&+winkel1
b2=p&+winkel2
a6=q%+winkel1
b6=r%+winkel2
winkel1=g&*COS(n+PI)
winkel2=g&*SIN(n+PI)
a3=o&+winkel1
b3=p&+winkel2
a7=q%+winkel1
b7=r%+winkel2
winkel1=g&*COS(n+1.5*PI)
winkel2=g&*SIN(n+1.5*PI)
a4=o&+winkel1
b4=p&+winkel2
a8=q%+winkel1
b8=r%+winkel2
'
@zeichnen
'
NEXT n
RETURN
PROCEDURE zeichnen
' Immer sichtbares Vordergrund-Quadrat zeichnen:
LINE a1,b1,a2,b2
DRAW TO a3,b3
DRAW TO a4,b4
DRAW TO a1,b1
' Welche Seite ist sichtbar ?
IF a5>a4 AND a5>a3
LINE a1,b1,a5,b5
DRAW TO a6,b6
DRAW TO a2,b2
ENDIF
'
IF a6>a1 AND a6>a4
LINE a2,b2,a6,b6
DRAW TO a7,b7
DRAW TO a3,b3
ENDIF
'
IF a7>a2 AND a7>a1
LINE a3,b3,a7,b7
DRAW TO a8,b8
DRAW TO a4,b4
ENDIF
'
IF a8>a3 AND a8>a2
LINE a4,b4,a8,b8
DRAW TO a5,b5
DRAW TO a1,b1
ENDIF
' Bildschirmwechsel :
COLOR 0
FRONTS buffer!+2 ! Leeren Screen in den Vordergrund
RASTPORT SCREEN(1-buffer!)+84
PBOX 0,0,320,256 ! Da kein Window benutzt wird, muß statt CLS
' mit PBOX gelöscht werden
buffer!=NOT buffer! ! Den anderen Screen zum Vordergrund machen
COLOR 1
RETURN
PROCEDURE zu
CLOSES 2
CLOSES 1
RETURN
PROCEDURE raus
IF MOUSEK
@zu
EDIT
ENDIF
RETURN
PROCEDURE knupel
SELECT STICK(1)
CASE 1
INC g&
CASE 2
DEC g&
CASE 4
DEC o&
q%=o&+g&/2
CASE 8
INC o&
q%=o&+g&/2
ENDSELECT
RETURN